﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BMMSI_projekt;

namespace pl.polsl.zmitac.bmmsi 
{
    public class Statystyka
    {
        private Genetics.Delegat funkcjaOceny;

        public Statystyka(Genetics.Delegat fun)
        {
            funkcjaOceny = fun;
        }

        public string NajlepszyOsobnik(string[] tab)
        {
            int best = 0;
            string najlepszy = string.Empty;

            foreach(string k in tab)
            {
                if (funkcjaOceny(k) > best)
                {
                    najlepszy = k;
                }
            }

            return najlepszy;
        }

        public double SredniaOcena(string[] tab)
        {
            double suma = 0;

            foreach (string k in tab)
            {
                suma += funkcjaOceny(k);
            }

            return (suma / tab.Length);
        }

        public double OdchylenieStandardowe(string[] tab)
        {
            double srednia = SredniaOcena(tab);
            double wariancja = 0.0;

            foreach (string k in tab)
            {
                wariancja += Math.Pow(funkcjaOceny(k) - srednia, 2);
            }

            wariancja /= tab.Length;

            return Math.Sqrt(wariancja);
        }
    }
}
